From: Owen W. Taylor Date: Thu, 6 Aug 2009 19:07:55 +0000 (-0400) Subject: Initialize GStreamer from shell_recorder_init() X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~11150 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f7746ec3f668566e7c9fc429ce0070508b74f41a;p=gnome-shell.git Initialize GStreamer from shell_recorder_init() Move the GStreamer initialization from the Javascript code into shell_recorder_init(). This avoids a dependency on the GStreamer introspection information and will make it easier to drop the gir-repository module dependency. --- diff --git a/js/ui/main.js b/js/ui/main.js index d22d52393..4e2000736 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -67,11 +67,6 @@ function start() { global.screen.connect('toggle-recording', function() { if (recorder == null) { - // We have to initialize GStreamer first. This isn't done - // inside ShellRecorder to make it usable inside projects - // with other usage of GStreamer. - let Gst = imports.gi.Gst; - Gst.init(null, null); recorder = new Shell.Recorder({ stage: global.stage }); } diff --git a/src/shell-recorder.c b/src/shell-recorder.c index 134c0e550..2ff7d5a84 100644 --- a/src/shell-recorder.c +++ b/src/shell-recorder.c @@ -232,6 +232,9 @@ get_memory_target (void) static void shell_recorder_init (ShellRecorder *recorder) { + /* Calling gst_init() is a no-op if GStreamer was previously initialized */ + gst_init (NULL, NULL); + shell_recorder_src_register (); recorder->recording_icon = create_recording_icon ();